package com.example.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.example.entity.dto.auth.Account;
import com.example.entity.vo.request.auth.EmailRegisterVO;
import com.example.entity.vo.request.auth.EmailResetVO;
import com.example.entity.vo.request.auth.ResetConfirmVO;
import org.springframework.security.core.userdetails.UserDetailsService;

/**
 * @auth shanyue
 * @date 2025年06月19日15:11
 */
public interface AccountService extends IService<Account>, UserDetailsService {

    Account findAccountByNameOrEmail(String text);

    String registerEmailVerifyCode(String type, String email, String ip);

    String registerEmailAccount(EmailRegisterVO emailRegisterVO);

    String resetConfirm(ResetConfirmVO resetConfirmVO);

    String resetEmailAccountPassword(EmailResetVO emailResetVO);

    Integer getAccountCount();

}
